<!DOCTYPE html>
<html>
<head>
    <script src="../../../resources/run-after-layout-and-paint.js"></script>
    <script>
        function repaintTest() {
            document.getElementById('behindDynamic').setAttribute('fill', 'green');
            document.getElementById('translateDynamic').setAttribute('x', '0');
            document.getElementById('transformDynamic').setAttribute('transform', 'translate(0 0)');
            document.getElementById('scaleDynamic').setAttribute('transform', 'scale(1)');
        }
    </script>
</head>
<body onload="runAfterLayoutAndPaint(repaintTest, true)">
Test for WK104207: This test passes if there are 4 green squares each with a smooth black circle in the top-left corner.<br/>
    <svg xmlns="http://www.w3.org/2000/svg" width="400" height="450">
        <!-- Test invalidating content behind the dynamic content. -->
        <rect id="behindDynamic" x="40" y="10" width="20" height="80" fill="red"/>
        <image x="0" y="0" width="100" height="100" buffered-rendering="dynamic" xlink:href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><rect x='10' y='10' width='30' height='80' fill='green'/><rect x='60' y='10' width='30' height='80' fill='green'/><circle cx='25' cy='25' r='10' fill='green' stroke='black' stroke-width='1'/></svg>"/>

        <!-- Test translating dynamic content -->
        <rect x="20" y="140" width="30" height="30" fill="red"/>
        <image id="translateDynamic" x="50" y="120" width="100" height="100" buffered-rendering="dynamic" xlink:href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><rect x='10%' y='10%' width='80%' height='80%' fill='green'/><circle cx='25' cy='25' r='10' fill='green' stroke='black' stroke-width='1'/></svg>"/>

        <!-- Test transforming dynamic content -->
        <rect x="20" y="260" width="30" height="30" fill="red"/>
        <image id="transformDynamic" transform="skewX(30)" x="0" y="240" width="100" height="100" buffered-rendering="dynamic" xlink:href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><rect x='10%' y='10%' width='80%' height='80%' fill='green'/><circle cx='25' cy='25' r='10' fill='green' stroke='black' stroke-width='1'/></svg>"/>

        <!-- Test scaling dynamic content -->
        <rect x="20" y="380" width="30" height="30" fill="red"/>
        <image id="scaleDynamic" transform="scale(0.1)" x="0" y="360" width="100" height="100" buffered-rendering="dynamic" xlink:href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><rect x='10%' y='10%' width='80%' height='80%' fill='green'/><circle cx='25' cy='25' r='10' fill='green' stroke='black' stroke-width='1'/></svg>"/>
    </svg>
</body>
</html>
